package jp.ac.aiit.yc.sww.database;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.InitialContext;
import javax.sql.DataSource;

import static jp.ac.aiit.yc.sww.constant.Constants.DB_DATA_SOURCE;;

public class DBConnection {

	// DBコネクション
	private Connection connection;

	/**
	 * コンストラクタ
	 * データソースからDBコネクションを作成します。
	 * */
	public DBConnection(){
		try{
			//initialContextを作る。
			InitialContext initCon = new InitialContext();
			//データソースを作成する。
			DataSource ds = (DataSource)initCon.lookup(DB_DATA_SOURCE);

			//データソースからコネクションを作成する。
			this.connection = ds.getConnection();

		}catch(Exception ex){
			System.out.println(ex.toString());
		}

	}

	public Connection getConnection() throws SQLException{
		if(this.connection==null){
			throw new SQLException();
		}
		return this.connection;
	}

	/**
	 * 
	 * DBコネクションクローズを行います。
	 * @param none
	 * @return none
	 */
	public void close() {
		try{
			if(this.connection!=null & !this.connection.isClosed()){
				this.connection.close();
			}
		}catch(Exception ex){
			System.out.println(ex.toString());
		}
	}


}
